package com.cn.wanxi.servlet;

import com.cn.wanxi.model.CompanyModel;
import com.cn.wanxi.model.NavModel;
import com.cn.wanxi.model.NewsModel;
import com.cn.wanxi.service.CompanyService;
import com.cn.wanxi.service.NavService;
import com.cn.wanxi.service.NewsService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * 第二阶段：servlet 框架 继承servlet的jar包
 * servlet的生命周期？
 * doget和dopost的区别？
 * jsp的九大内置对象？
 * servlet 的四大作用域？
 * java页面转发和重定向的区别？
 * 所有的数据都应该从后台拿值，只有这里和页面有交互，所以值应该从这里传递到前端
 * 所以，我們需要通过访问后台，来返回到相应的页面
 */
@WebServlet("/home")//访问后台的地址
public class HomeServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

//      HttpServletRequest  req 前端页面请求后台代码
//      HttpServletResponse  resp   后台代码响应前端页面
//        四大作用域  作用范围 容器
//        page   当前页面
//        request  转到那个页面
//        session  当前浏览器
//        application  整个项目
//        CompanyModel companyModel = new CompanyModel();
//        companyModel.setLogo( "../img/logo_g0yv.jpg");
//        companyModel.setLogo( "../img/logo_g0yv.jpg");
//        companyModel.setLogo( "../img/logo_g0yv.jpg");
//        CompanyService companyService = new CompanyService();
//        CompanyModel companyModel = companyService.getCompanyModel();
//        req.setAttribute("companyModel", companyModel);
//        req.setAttribute("logo", "../img/logo_g0yv.jpg");//两个参数  key-value
//        req.setAttribute("phone", "aaaaaaaaaaaaaaa");
//        返回导航数据
//        NavService navService = new NavService();
//        List<NavModel> navModelList = navService.getNavModelList();

//        for (int i = 1; i < 11; i++) {
//            if (i % 2 == 1) {
//                System.out.println(i);
//            }
//        }
//
//        req.setAttribute("navModelList", navModelList);
        CompanyAndNavServlet.getCompanyAndNavData(req);
//        新闻展示
        NewsService newsService = new NewsService();
//        List<NewsModel> newsModelList = new ArrayList<>();
        List<NewsModel> newsModelList = newsService.getNewsModelListForHomePage();
        req.setAttribute("newsModelList", newsModelList);
//页面转发--将数据转发到相应页面
        req.getRequestDispatcher("/jsp/home.jsp").forward(req, resp);
//        重定向
//        resp.sendRedirect("/jsp/home.jsp");

    }
}
